package com.group3.service;

import com.group3.domain.GroupScores;
import com.group3.domain.PersonalScores;
import com.group3.pojo.Page;
import com.group3.pojo.WorkDetails;
import com.group3.pojo.result.PersonalScoresResult;
import com.group3.utils.Result;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestParam;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * TeacherScoreService
 *
 * @author HY,PX
 * 2021/06/10 16:50
 **/


public interface TeacherScoreService {
    public Result<List<PersonalScores>> selectStudentScore(String lessonName, Integer groupId,
                                                           String teacherId, Page page);
    public Result<PersonalScoresResult> showStudentScore(String studentId, String lessonName);
    public Result gradeStudent(@NotBlank String studentId, @NotBlank String lessonName
            , @NotBlank float score,String comment);
    public Result<List<GroupScores>> selectGroupScore(
            @NotEmpty String lessonName,
            @NotEmpty Integer groupId,
            @NotEmpty String teacherId,
            @Validated Page page);
    public Result<WorkDetails> showGroupScore(@NotEmpty Integer groupId, @NotEmpty String lessonName);
    public Result groupGroup(
            @NotBlank @RequestParam Integer groupId,
            @NotBlank @RequestParam String lessonName,
            @NotBlank @RequestParam float score,
            @RequestParam String comment);
}
